package com.gdones.gpt.bus.chatdata.controller;


import com.gdones.common.core.annotations.MySysLog;
import com.gdones.common.core.annotations.MySysLogOpration;
import com.gdones.common.core.dto.MyResult;
import com.gdones.gpt.bus.chatdata.dto.GptStaffChat;
import com.gdones.gpt.bus.chatdata.service.IGptStaffChatService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author GaoJingBo
 * @since 2023-06-14
 */
@RestController
@RequestMapping("/chatdata")
@Slf4j
@Api(tags = "机器人聊天记录管理")
public class GptStaffChatController {

    @Resource(name = "gptStaffChatServiceImpl")
    private IGptStaffChatService gptStaffChatServiceImpl;

    @GetMapping("/getByStaffModesID")
    @ApiOperation("机器人聊天记录管理-查询当前模型的聊天记录")
    @MySysLog(modelName="机器人聊天记录管理",methodDesc = "查询当前模型的聊天记录",methodType = MySysLogOpration.GET)
    public MyResult getModelHisDataByStaffModesID(String staffModesID){
        log.debug("--机器人聊天记录管理：查询当前模型的聊天记录");
        MyResult result = new MyResult();

        try {
            result = gptStaffChatServiceImpl.getModelHisDataByStaffModesID(staffModesID);
        }catch (Exception e){
            e.printStackTrace();
            result.setCode("9999");
            result.setMsg("机器人聊天记录管理-查询当前模型的聊天记录-异常");
        }
        return result;
    }

    @DeleteMapping("/deleteByStaffModesID")
    @ApiOperation("机器人聊天记录管理-删除当前模型的聊天记录")
    @MySysLog(modelName="机器人聊天记录管理",methodDesc = "删除当前模型的聊天记录",methodType = MySysLogOpration.DELETE)
    public MyResult deleteModelHisDataByStaffModesID(String staffModesID){
        log.debug("--机器人聊天记录管理：删除当前模型的聊天记录");
        MyResult result = new MyResult();

        try {
            result = gptStaffChatServiceImpl.deleteModelHisDataByStaffModesID(staffModesID);
        }catch (Exception e){
            e.printStackTrace();
            result.setCode("9999");
            result.setMsg("机器人聊天记录管理-删除当前模型的聊天记录-异常");
        }
        return result;
    }

    @PutMapping("/updateByStaffModesID")
    @ApiOperation("机器人聊天记录管理-更新当前模型的聊天记录(有则更新、无则添加)")
    @MySysLog(modelName="机器人聊天记录管理",methodDesc = "更新当前模型的聊天记录",methodType = MySysLogOpration.PUT)
    public MyResult updateModelHisDataByStaffModesID(@RequestBody GptStaffChat dto){
        log.debug("--机器人聊天记录管理：更新当前模型的聊天记录");
        MyResult result = new MyResult();

        try {
            result = gptStaffChatServiceImpl.updateModelHisDataByStaffModesID(dto);
        }catch (Exception e){
            e.printStackTrace();
            result.setCode("9999");
            result.setMsg("机器人聊天记录管理-更新当前模型的聊天记录-异常");
        }
        return result;
    }

}
